#pragma once
#include <memory>
#include <atomic>

namespace axisgroup {

class RtPlanServo;
class Robot;

class OverPlan
{
public:
    explicit OverPlan(Robot* grp);
    std::shared_ptr<axisgroup::RtPlanServo> rt_plan_servo_;
    int active_servo(bool en);
    int update();
    bool is_servo_active() { return servo_active_; }  // servo 模式开启
    bool is_fct_active() { return fct_active_; }      // 力控 模式开启

private:
    std::atomic<bool> servo_active_;  // servo 模式开启
    std::atomic<bool> fct_active_;    // 力控 模式开启
    Robot* grp_;
};

}  // namespace axisgroup